package com.coderbean.demo.leaveapply.entity;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * @author guoguoyong 2021年11月19日 email: 769201593@qq.com
 */
@Table(name = "t_leave_apply")
@TableName("t_leave_apply")
@Entity
public class TLeaveApplyModel implements Serializable {

	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	@TableId(type = IdType.ID_WORKER_STR)
	@Column(columnDefinition = " varchar(50) not null comment '主键' ")
	private String id;

	@Column(columnDefinition = " datetime not null  comment '请假开始时间' ")
	@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	private java.util.Date startTime;

	@Column(columnDefinition = " datetime not null  comment '请假结束时间' ")
	@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	private java.util.Date endTime;

	@Column(columnDefinition = " varchar(200) not null  comment '请假理由' ")
	private String reason;

	@Column(columnDefinition = " varchar(50) not null  comment '请假类型' ")
	private String leaveType;

	@Column(columnDefinition = " datetime not null  comment '创建时间' ")
	@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
	private java.util.Date createTime;

	@Column(columnDefinition = " int(1) default 0 comment '审批状态' ")
	private Integer approveStatus;
	
	@Column(columnDefinition = " int(5) default 0 comment '审批状态' ")
	private Integer days;

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public java.util.Date getStartTime() {
		return startTime;
	}

	public void setStartTime(java.util.Date startTime) {
		this.startTime = startTime;
	}

	public java.util.Date getEndTime() {
		return endTime;
	}

	public void setEndTime(java.util.Date endTime) {
		this.endTime = endTime;
	}

	public String getReason() {
		return reason;
	}

	public void setReason(String reason) {
		this.reason = reason;
	}

	public String getLeaveType() {
		return leaveType;
	}

	public void setLeaveType(String leaveType) {
		this.leaveType = leaveType;
	}

	public java.util.Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(java.util.Date createTime) {
		this.createTime = createTime;
	}

	public Integer getApproveStatus() {
		return approveStatus;
	}

	public void setApproveStatus(Integer approveStatus) {
		this.approveStatus = approveStatus;
	}

	public Integer getDays() {
		return days;
	}

	public void setDays(Integer days) {
		this.days = days;
	}

}
